package com.wjd.utils;

/**
 * 字符串工具类
 *
 * @author weijiaduo
 * @since 2024/3/12
 */
public final class StrUtils {

    private StrUtils() {
    }

    /**
     * 用于判断字符串是否是英文
     *
     * @param str 字符串
     * @return true 表示是英文，false 表示不是英文
     */
    public static boolean isEnglish(String str) {
        return str.matches("^[a-zA-Z]*");
    }

    /**
     * 用于判断字符串是否是数字
     *
     * @param str 字符串
     * @return true 表示是数字，false 表示不是数字
     */
    public static boolean isNumeric(String str) {
        return str.matches("[0-9]*");
    }

    /**
     * 判断字符串是否是浮点数
     *
     * @param str 字符串
     * @return true 表示是浮点数，false 表示不是浮点数
     */
    public static boolean isDouble(String str) {
        try {
            Double.parseDouble(str);
            return str.contains(".");
        } catch (NumberFormatException e) {
            return false;
        }
    }

    /**
     * 判断字符串是否是数字串
     *
     * @param str 字符串
     * @return true 表示是数字串，false 表示不是数字串
     */
    public static boolean isNumber(String str) {
        return isNumeric(str) || isDouble(str);
    }

}
